var over = false;
var win = false;

$(function() {
    init();
})
function init() {
    setTdOnClick();
    getSaoleiTable();
}
function setTdOnClick(){
    $('#table tr td').each(function (){
        this.onclick = function() {
            var t = $(this).attr("type");
            if(over){
                alert("有人踩雷 请重启游戏");
            }
            if(t=="1"){
                var x = $(this).attr("x");
                var y = $(this).attr("y");
                clickAndGetSaoleiTable(x,y);
            }
        }
    });
}

function clickAndGetSaoleiTable(x,y){
    $.ajax({
        type:"post",//请求类型
        url:"/module/saolei/clickSaolei",//请求地址
        dataType:"json",//交互的数据类型
        data:{
            "x":x,
            "y":y
        },
        cache:false,//去除请求的缓存
        success:function(){
            getSaoleiTable();
        }
    });
}
var t_x;
var t_y;
var t_l;
function getSaoleiTable(){
    $.ajax({
        type:"post",//请求类型
        url:"/module/saolei/getSaoleiTable",//请求地址
        dataType:"text",//交互的数据类型
        cache:false,//去除请求的缓存
        success:function(msg){
            var result = $.parseJSON(msg);

            var saoleiMap = result.saoleiMap;
            if(t_x!=saoleiMap.x||t_y!=saoleiMap.y||t_l!=saoleiMap.l){

                t_x = saoleiMap.x;
                t_y = saoleiMap.y;
                t_l = saoleiMap.l;

                var x = saoleiMap.x;
                var y = saoleiMap.y;
                var l = saoleiMap.l;

                $("#x").val(x);
                $("#y").val(y);
                $("#l").val(l);

                flushtable();
            }

            var open_count = 0;

            var leilist = result.leilist;
            var cl = false;
            $('#table tr td').each(function (){
                var x = $(this).attr("x");
                var y = $(this).attr("y");
                $(this).attr("value",leilist[y][x].value);
                $(this).attr("type",leilist[y][x].type);
                var v = $(this).attr("value");
                var t = $(this).attr("type");
                if(t=="0"){
                    if(v=="0"){
                        $(this).css("background-image","url("+leilist[y][x].img+")");
                        open_count++;
                    }else if(v=="-1"){
                        this.style.backgroundColor='#000000';
                        if(!over){
                            alert("有人踩雷 请重启游戏");
                            cl = true;
                            over = true;
                        }
                    }else{
                        $(this).css("background-image","url("+leilist[y][x].img+")");
                        $(this).text(v);
                        open_count++;
                    }
                }else{
                    $(this).attr('style','background-image:none');
                    $(this).text("");
                }

                if(open_count == saoleiMap.x*saoleiMap.y-saoleiMap.l){
                    alert("扫雷成功 请重启游戏");
                }
            });

            if(!cl){
                over = false;
            }
        }
    });
}
function reset() {
    var x = $("#x").val();
    var y = $("#y").val();
    var l = $("#l").val();

    if( x <= 0 || y <= 0 || l <= 0){
        alert("输入正确数量");
        return;
    }

    if(x>30){
        alert("列数请不要大于30");
        return;
    }

    if(y>10){
        alert("行数请不要大于10");
        return;
    }

    $.ajax({
        type:"post",//请求类型
        url:"/module/saolei/reset",//请求地址
        dataType:"json",//交互的数据类型
        data:{
            "x":x,
            "y":y,
            "l":l
        },
        cache:false,//去除请求的缓存
        success:function(){
            cl = false;
            location.reload();
        }
    });
}

function flushtable(){
    $.ajax({
        url: '/module/saolei/getSaoleiTable', // 假设这是一个获取数据的API
        method: 'GET',
        dataType: 'json',
        success: function(data) {
            $('#table').empty(); // 清空现有表格内容
            var leilist = data.leilist;

            leilist.forEach(function(leis, leisIndex) {
                var row = $('<tr></tr>');
                leis.forEach(function(lei, leiIndex) {
                    var cell = $('<td></td>');
                    cell.attr('value', lei.value);
                    cell.attr('type', lei.type);
                    cell.attr('x', leiIndex);
                    cell.attr('y', leisIndex);
                    row.append(cell);
                });
                $('#table').append(row);
            });
            setTdOnClick();
        },
        error: function(xhr, status, error) {
            console.error('Error:', error);
        }
    });
}
setInterval(function(){getSaoleiTable();},1000);
